Ian Murdock 博文翻译

Table of Contents

Ian Murdock 是 Debian 项目的创始人,他生前在博客上写过许多与工作、自由软件有关的博文,我把一些有意思的翻译在此处。

2015 年 8 月开始,他本打算以自身经历来写一些与自由软件历史有关的文章,遗憾的是,同年 12 月 28 日,他在家中离世。

他的个人网站地址:https://ianmurdock.debian.net

1. 2015-09-08 Debian 问世前的 I&J 计算机企业

原文:https://ianmurdock.debian.net/index.html%3Fp=2063.html

Jason Balicki:

在普渡大学的宿舍里,我们有种叫 DOV(发音:dove)的设备,它代表着“话音传数据”。有点类似于 DSL 之前的东西,但是是串行的,并且速度只能达到 9600bps(我觉得会更低)。当时个人机并不少见,但也不像今天那么普及(显而易见)。Ian 把它作为一个市场。我们尝试在普渡大学的二手店里买文本终端转租给其他学生,这样他们就能在自己的宿舍里干活,而不用大老远跑到实验室去。我不认为我们会有客户,但我确定我仍然欠他钱(他买了第一批终端,我应该和他分摊)。

这事我已经忘记了。但碰巧的是我在旧盒子里找到了 I&J 的一些老传单(以及其他东西待公布)。这可能是 1992 年年底或 1993 年年初,很可能是我在 ENAD 大楼找到有 X 终端实验室之前的事,因此,也可能是我在接触到 Linux 之前的事了。

我很确定 Jason 说的是对的——我们从来没有过顾客。我也还记得只买过一台终端,好像是 ADM5。

我也很确定 Jason 是对的,他还欠我钱,现在我想起来了……

2. 2015-08-21 对 FOSS 历史项目感兴趣吗?

原文:https://ianmurdock.debian.net/index.html%3Fp=1963.html

哇,我上篇《我是如何发现 Linux 的》发表后,大家反响非常强烈。

也许因为最近第 n 次读 Stephen Levy 写的《黑客——计算机革命的英雄》,所以我认为咱们这一代的故事需要讲出来。那时与当今确实不属于同一时代——计算和存储资源都稀缺;计算机相互连通的也很少;世上的信息被组织起来并可随意访问的想法也只出现在小说中。

我尚不确定这故事最终会采用什么形式表达。可以是书——《黑客》精神的续集(这当然是个不错的方式,因为《黑客》以年轻时期的 Richard Stallman 创建 GNU 项目而结束,而我们这代的故事却是从那时开始的)。它还可以是播客——属于我们的《时代的荣耀》(The Glory of Their Times)。还可能只是文集,就像我那篇一样。不管用什么形式,我正在考虑的“FOSS 历史项目”正开始成形。

不过,我在投入时间在这想法前,想听听大家意见。

大家有兴趣吗?

译注:

  • FOSS:Free and Open Source Software,中文即“自由及开源软件”。

3. 2015-08-17 我是如何发现 Linux 的

原文:https://ianmurdock.debian.net/index.html%3Fp=1900.html

在 1992 年的冬天,我第一次见到了 Sun 工作站,那时我还是普渡大学的一名本科生。当时,我是在克兰纳特管理学院的求学,秋季学期必修的计算机编程课唤起了儿时对计算机的热爱(我们能选修 COBOL 或 FORTRAN 语言,即便在 1992 年也显得非常过时了——我选择了 COBOL,因为它似乎更“商业”)。

大约十年前,我父亲(普渡大学昆虫学教授)用 Apple II+ 替换了工作中使用的那台打字机。他认为他那九岁的儿子或许也能从中获得乐趣,并在某个周末里把电脑,及他在 ComputerLand 里买的一款类似《太空入侵者》游戏搬回家了。那个周末,我在那台电脑上花了好几个小时。没多久,我一有机会就陪着父亲去实验室,这样我就能把更多的时间投入在电脑上。

作为 9 岁的孩子,不出所料,一开始我就被游戏所吸引,而我对游戏的兴趣最终导致了我第一次接触编程:那些计算机杂志中包含了些非常简单的游戏代码,我费了几个小时把代码输到苹果电脑里,并希望我没有犯错(至少 Apple II 开箱时用了一个简单的行编辑器,因此返回并进行修改非常频繁,更别提要首先找到错误了)。

不久之后,我周末在实验室闲逛时碰到了 Lee Sudlow,他是我爸的研究生之一,并开始用苹果电脑来协助他做实验。Lee 很乐意向我解释他做的,而我则站他背后注视着。毫无疑问,他的乐于助人动机出于——至少有一部分原因是,那个一直盯着他的 9 岁鼻涕虫是他导师的儿子。我对这些事情视而不见,只是着迷地看着他在苹果电脑上打代码,这些代码是他思考出来的,而不是从电脑杂志上看到的。

我通过研究杂志上的代码,以及 Lee 偶尔的指导,不久后我就能编写游戏和一些简单的程序来,首先使用 Applesoft BASIC,后来又用 6502 汇编。为了激励我日益增长的兴趣,爸爸最终买了一台家用的 Apple IIe,我对电脑的热爱又持续了许多年。然而,当我步入青少年时,电脑逐渐就被更多紧迫的事情取代了,例如棒球、音乐和女孩,到了 20 世纪 80 年代中期,苹果电脑和我收藏的《哈迪男孩》小说、《星球大战》公仔一起放到卧室衣柜里吃灰。

接下来的 6 年中,我对计算机的痴迷态度一直处于“休眠”,直到在上 1992 年秋季的 COBOL 课程期间才被偶然又激活。课程结束时,我自然失去了 IBM 3090 大型机的访问账户,那时我们在那上面完成作业和实验。幸运的是,作为一名学生,我能在计算机中心的一台机器上拥有个人账号,可以是 IBM,也可以是运行了 DYNIX(UNIX 系统的一个变体)的三台 Sequent Symmetry 小型机之一。一个朋友让我相信了 UNIX 会比 VM/CMS 更有趣、更有前途,我欣然接受了他的建议,并且申请了一台 Sequent 的访问账号。接下来的一周,我很自豪地成为 sage.cc 账号所有者,还获得了 500 KB 的磁盘空间配额。(是的,我是在讽刺——即便在 1992 年,500 KB 也很吝啬。我最后还是找到了避开限制的方法)

那年冬天,我对 UNIX 的兴趣如饥似渴,多数夜晚都待在 MATH 大楼的地下室里,沉浸在 Z-29 终端散发出的绿色荧光之中,去探索着楼上那 UNIX 系统的每个角落。那些终端在房间里安静得出奇,唯一的声音是几十个键盘发出的咔嗒咔嗒的声音,以及偶尔的低语声——“嘿,看看这个……”。通常,经过一夜的探索后,我会顺着长廊走出大楼,在经过计算机中心中央机房的玻璃窗前,我会惊叹地凝视着刚用过的那冰箱般大小的 Sequent Symmetry,看着那闪烁的灯光就能知道还有数百人仍然在系统里,即使只是虚拟的,这都要归功于分时系统的魔力,这是一种先进的技术,把机器的计算能力分配给很多用户,为每个用户提供一种“唯一使用”的错觉。更重要的是,我太羡慕玻璃另一边的那些系统管理员,他们有系统的超级用户权限。

由于厌倦了 Z-29 终端,天黑后,我和好朋友 Jason Balicki 就在校园里徘徊着,想看看还能找到什么。Jason 读了几年的计算机科学,因此他知道该去哪里寻找(尽管我们做了我们的新探索——这也是乐趣的一部分——在晚上潜入建筑物,然后试着打开可能放了计算机的房间)。

据我了解,最好的实验室在工程管理大楼(在校园里有一个不幸的缩写,ENAD),其中几个房间的 X 终端为校园内的 Sequent 和其他 UNIX 机器提供了图形界面。很快,我最喜欢的“Hacking”(这Jason 告诉我的术语)地点就在 X 终端实验室之一,从技术上来说,这个实验室仅给工程专业的学生用,但​​并不是通过密码来限制的,而我们则忠实地无视了这一限制。

但 ENAD 大楼的真正宝藏在 Sun 工作站实验室中。和低端的 Z-29,及相对先进的 X 终端不同,Sun 工作站很漂亮,外观时尚,还有高分辨率的彩色显示屏。此外,Jason 解释道,他们运行的是最好的 UNIX 操作系统——SunOS,Sun 的安全性要比 X 终端要好得多,需要有工程计算机网络上的帐户才能访问它们,所以直到很久之后我才有机会接触到 SunOS。

我还可以通过基于 Intel 80286 的 PC 机加上 2400 波特率调制解调器从家里访问 UNIX,在寒冷的冬天就不用长途跋涉去学校的计算机实验室了。能够从家里访问 Sequent 非常棒,但我想和在 ENAD 大楼的 X 终端有相同的体验,因此 1993 年 1 月某天,我就开始寻找一台可以在我的 PC 上运行 X 服务器。我在 Usenet 上搜索相关内容时,偶然发现了名为“Linux”的东西。

Linux 不是 X 服务器,但却是更好的东西:一个类 UNIX 的完整 PC 操作系统,这是我甚至没想过的存在。不幸的是,它需要 386 或更好的处理器,而我的 PC 却是 286。所以,我开始存钱买一台足够快的机器来运行它,与此同时,我如饥似渴地吸收着一切相关信息。几周后,我向普渡大学的计算兴趣 Usenet 小组发布了一条询问校园内是否有人在运行 Linux 的消息,并得到了一位名叫 Mike Dickey 的计算机科学系的学生回复,他很高兴地邀请我过来展示他的 Linux 设置。受到启发,我买了 30 张软盘,并开始从 Krannert 大楼的 PC 实验室里把 Linux 下载到软盘上,当时尽管我还要一个月的时间才能买得起一台能实际安装它的计算机。终于,我不能再等了,Jason 和我在其中一个宿舍里找到了一个没上锁的计算机实验室,里面只有一台 PC,在二月份的某个半夜里,我们开始在实验室的 PC​​ 上安装 Linux。我仍偶尔在想,第二天早上第一个到实验室的不幸的学生会怎么想。

Linux 是 Linus Torvalds 在大约一年半以前创建的,那时他就读于赫尔辛基大学,是一名 21 岁的计算机科学系的本科生。作为一名长时间的计算机爱好者,Torvalds 走过和我相似的道路,尽管他的编程生涯是在 Commodore Vic-20 上开始的,而且他并没有像 80 年代那样被更传统的青少年兴趣所分散注意力。Torvalds 第一次接触 UNIX 是在 1990 年的大学课程期间,并和我一样对 UNIX 一见钟情。

同年秋天,Torvalds 学习了操作系统课程,课本用了荷兰阿姆斯特丹自由大学计算机科学系 Andrew Tanenbaum 教授的《操作系统:设计与实现》。 Tanenbaum 的书通过他自己编写的一款名为 MINIX 的 PC 机 UNIX 克隆版本来示范,并且书中还包含了 MINIX 的完整源代码——可读(和可编辑)的 MINIX 的编程代码,以及一套软盘,读者能够实际安装、使用和修改该操作系统。

出于好奇,Torvalds 在 1991 年初购买了一台 PC,并加入了蓬勃发展的 MINIX 社区,社区由 Usenet 新闻组 comp.os.minix 聚集了数万人。他不仅开始试验 MINIX,还开始试验为他的 PC 提供支持的 Intel 80386 处理器的新任务切换功能。(任务切换使得在处理器上同时运行多个程序变得更容易,这是分时系统(如顺序对称)的要求之一,我在普渡大学的第二年发现了这一点。)到 1991 年夏天 Torvalds 的任务切换实验开始演变成一个成熟的操作系统内核,它是操作系统中的基本软件部分,可以协调对计算机中的 CPU、内存、磁盘和其他设备的访问,并提供更简单的操作。这些基本计算功能的接口允许更轻松地编写复杂的应用程序。[i]

MINIX 并不是 1991 年里唯一存在的一个“爱好者友好”的操作系统项目,尽管它是少数几个足够完整可用的操作系统之一,也是少数几个可以在普通 PC 上运行的操作系统之一。迄今为止最著名的操作系统项目是由 Richard Stallman 主持的 GNU。Stallman 从 20 世纪 60 年代中期开始就开始编程,并于 1971 年至 1983 年间在麻省理工学院担任系统程序员,他是一位传统的“黑客”——为了计算本身而进行计算的人,并坚信所有信息都应该自由共享。

GNU 项目的目标是造一个与 UNIX 兼容的自由(自由不仅是在价格上自由,还可以自由修改)的操作系统(GNU 是所谓的“GNU's Not UNIX”的递归缩写)”,这么称呼,全是因为它采用了程序员经常使用的强大技术——递归,即把自身作为输入来做计算)。Stallman 于 1983 年启动了 GNU 项目,作为对专有软件市场不断增长的回应,专有软件是指其源代码无法修改,甚至通常连源代码都不提供。

在 20 世纪 80 年代初,专有软件是一个相对较新的发展,而对 Stallman 来说却是一个非常令人不安的发展趋势。那时的软件基本上是随硬件一起自由分发的,黑客经常共享其源代码的副本以及他们自己的修改。Stallman 认为专有软件发展趋势是迈向数字化《1984》的第一步,在数字化时代,计算机用户乃至整个社会都将受贪婪的企业利益束缚,于是他决定来阻止这种发展趋势。

直到 1991 年中期,Stallman 和一些松散的志愿者已经完成了 GNU 操作系统的大部分内容——编译器、调试器、编辑器、命令解释器(或“shell”),及各种实用程序和编程库,它们类似 UNIX,但又更好——普遍人觉得 GNU 的版本都优于它们的同名版本。唯独缺少的部分是系统内核,由自由软件基金会来补全缺失的内核,Stallman 的自由软件基金会,是 1985 年刚创建的非营利组织,用于监督 GNU 的开发并充当自由软件的保护者。世界各地的黑客相信 GNU 完成将指日可待,他们终究会拥有一个摆脱公司束缚的操作系统。

地球的另一边,Torvalds 的操作系统内核变得足够完善,并能向全世界发布来。 1991 年 8 月 25 日那天,他在 comp.os.minix 上发表来那篇著名帖子:

大家好,所有使用 MINIX 的朋友们 -

我正在开发一个(免费的)操作系统(只是一个爱好,不会像 GNU 那样大而专业),用于 386(486)AT 克隆机。这个项目从四月份开始酝酿,直现在开始才准备好。我想听听大家对 MINIX 的喜欢/不喜欢之处,因为我的操作系统在某种程度上与它相似(包括文件系统的物理布局相同(出于实际原因)等等)。

反响倒是很强烈,尽管每个人期待 GNU 会很快搞完,但它还没法用,至少还没有以无需 UNIX 支持的形式提供出来。尽管 MINIX 很流行,却不免费——尽管比其他 UNIX 便宜。最重要的是,MINIX 主要是用于教学辅助,而不是用于实际生产的软件,因此 Tanenbaum 不愿意包含许多补丁,抑或是为了扩展功能而对操作系统的直接修改,这些功能每天都来自大量热情的用户,他也担心加这加那的会使 MINIX 变得复杂,导致学生们在学习操作系统课程时更难理解。

对很多 MINIX 用户来说,一个类似于 UNIX 的 PC 操作系统无论多么不完美,它都是免费的,并且可以按照社区希望的速度发展,这是难以抗拒的诱惑,因此他们开始涌向 Torvalds 新开发的操作系统,这系统在 1991 年秋天被命名为“Linux”。但 Linux 只不过是个内核,需要安装各种工具和应用程序才能真正用起来。幸运的是,由于 Stallman 的 GNU 项目中的大部分程序都有了。

到 1992 年,一些勇敢的用户开始组装软盘映像集,把 Linux 和 GNU 的工具链结合起来,以便新用户更易用。这些集合(后来称为“发行版”)逐渐变得更好,当我最终在 1993 年 3 月拿到我的 PC 时,Softlanding Linux System(或 SLS)发行版已经扩展到那三十张软盘,并包含了大量的应用程序——是的,还有为 ENAD 大楼的 X 终端提供支持的相同软件。

我从未抽时间去尝试将我 PC 上基于 Linux 的 X 服务器连接到 Sequent,2400 波特率下速度会慢得令人痛苦,比今天的速度慢几千倍。现在我的办公桌上就有了我自己的 UNIX 供我探索。我真的在 UNIX 速成课程中进行了探索。一旦我克服了成为“超级用户”的兴奋感——以前只能透过玻璃看到的难以言喻的力量,我不再是对 Linux 本身着迷,而是对它的创建过程感到着迷——成百上千的人在系统的各个角落中工作,通过互联网来交换代码,每次的缓慢变更都让系统变得更好——并开始为这个不断发展的社区做出自己的贡献,创建一个名为 Debian 的新发行版,让它更易用、更健壮,因为它将由用户共同构建和维护,就像 Linux 一样。

  • [i] Glyn Moody, Rebel Code: Inside Linux and the Open Source Revolution, Basic Books (2002), p. 8, 13, 32-42

4. 2015-08-15 Debian 的首个 logo

原文:https://ianmurdock.debian.net/index.html%3Fp=1880.html

作为对“Debian 历史”项目的第一个贡献,我展示的是……Debian 的第一个 logo:

20603080215_8bd0fe73b3.jpg

这是自由软件基金会的 Etienne Suvasa 在 1994 年绘制的,比漩涡(译注:即当前正在使用的 logo)早了好几年。这个想法出自 Richard Stallman——一个 GNU 婴儿,抱着一条毯子吸手指,就 像《花生漫画》中的 Linus(明白了吗?)。

5. 2015-08-13 Debian、水培和爱德华·斯诺登

原文:https://ianmurdock.debian.net/index.html%3Fp=1877.html

非常酷:@Debian 出现在《第四公民》(Laura Poitras 关于 Edward Snowden 的纪录片)的片尾字幕中 pic.twitter.com/6LOYEekEGv

—— Ian Murdock(@imurdock),2015 年 7 月 7 日

多年以来,我看到 Debian 被用于一些非常令人惊奇的地方、做着一些让人惊叹的事情。

比如说,我最近看了《第四公民》,Laura Poitras 拍的一部与 Edward Snowden 有关的纪录片,以及美国国家安全局(NSA)事件被曝光之后在香港的头几天(顺便强烈推荐下)。当字幕滚动时,我偶然看到了这个:

[译注:原文的图片链接已失效(也包括上面的 Twitter 链接),这张图是《第四公民》结尾的字母滚动截图,提到了一些自由软件和加密软件,其中有 Debian GNU/Linux。]

这种事情一直让我感到很自豪,即使从 1997 年我听说 Debian 正在为航天飞机上的水培实验室提供动力 (我首个感到“非常酷”的时刻)至今也一直如此。

说到这:本周将是首次宣布 Debian 诞生 22 年(!)。我很乐意从其他人那里收集关于 Debian 惊人的用途、做的惊奇的事,以及历史上有趣的片段的轶事、纪念品、故事等等。请在评论区中写下它们,我会选出最好的在博客中展示。

不巧,我最近搬家了,就像以往搬家会时常发生的那样,我在搬家中翻阅了一些旧盒子,发现了 Debian 悠久历史中一些我以为永久消失的东西(“不巧”=我感到有点怀旧)。因此,打明天起,我将从这些开始这个“Debian 历史项目”。

6. 2007-07-21 包管理器如何改变一切

原文:https://ianmurdock.debian.net/index.html%3Fp=437.html

Linux 给工业界带来的最大进步是什么?

这个问题很有趣,依我看,答案非常简单:包管理,更具体来说,是通过网络以无缝集成的方式安装和升级软件的能力,以及启用分布式开发模型的包管理。

在过去,操作系统是个大而单一的产品,而应用程序是放在它们之上的大型的单一品。例如,如果想部署一个 Web 程序,你就得采购中间栈(它们本身也可能是几个大的产品),你买了操作系统,并且还要自己集成(通常很痛苦)这两者(或者花钱找大公司来搞)。

如今,越来越多的只是“apt-get install everything”。

在这世上,操作系统从哪儿结束,应用程序从哪儿开始?两者界限逐渐模糊,当应用程序使用操作系统的设施部署,和操作系统无缝集成时,其结果究竟是应用程序还是操作系统的功能?从实际角度来看,所有软件终将成为操作系统的一部分——至少这肯定是 Linux 世界的趋势。

这种转变对行业意味着什么?那些把操作系统构建为单一产品的人必须要转变——也是用户所期望的,而采用组件化的操作系统,而不是一堆杂乱的东西,将新的创新推向市场变得更加容易,并随着时间的推移而不断发展操作系统。事实上,将 Solaris 重塑为“发行版”是 Indiana 项目的精髓,包管理是将其结合在一起的关键技术。

因此,当下次您了解 Indiana 项目如何使 Solaris 更像 Linux 时,请记住,我们实际上“复制”的是发行版模型,而不是 Linux 本身,毕竟 Linux 只是一个系统内核,与包管理器以及在其之上构建的发行版(如 Debian)无关。这会比其他任何事都能突出 Solaris 的机会:当大家说他们了解“Linux”时,他们真正了解的其实是围绕 Linux 内核(发行版)的环境,Solaris 也能提供这些,甚至更多。

7. 2003-05-10 来自禅与艺术

原文:https://ianmurdock.debian.net/index.html%3Fp=11.html

摘自《禅与摩托车维修的艺术》(第 206~210 页):

注:中文翻译内容摘自《禅与摩托车维修的艺术》中文版,译者:张国辰

斐德洛的记载中有很大一段,写一次他要班上的学生写一篇《何为思想和陈述中的良质?》。学生们的情绪逐渐不安起来,几乎每一个人都像他过去一样,对这个问题既挫败又愤怒。

他们说:“我们怎么可能知道良质是什么呢?应该是你来告诉我们。”

然后他告诉他们,他也不知道,而且很想知道答案。他提出这个问题,就是希望有人能够找到答案。

[...]

然后有一个人问:“你的想法呢?”

他回答:“我不知道。”

“但是你究竟怎么想呢?”

他沉默了好一阵子:“我知道有所谓的良质存在,但是一旦你想去定义它,情况就会变得很混乱,因而无法做到这一点。”

大家都十分同意。

[...]

过了几天,他自己想出一个定义,于是把它写在黑板上让学生们抄下来,定义是这样的:“良质是一种思想和陈述的特质,我们不能经由思考的方式了解它,因为下定义是一种严格而规范的思考过程,所以良质无法被定义。”

这个定义其实就是拒绝给它定义,并没有引起学生的评论。[...]

然而在黑板上的定义下面,他又写道:“但是即使良质无法定义,你仍然知道它是什么。”这又引起学生们一阵骚动。

“噢!我们不知道。”

“你们知道的。”

“噢!我们不知道。”

“你们知道的!”他已经准备了一些资料要拿给他们看。

于是他选出学生的两篇文章作例子。第一篇写得十分凌乱,有一些很有趣的想法,然而没有形成完整的主题。第二篇写得非常好,但是这个学生自己也搞不清楚是怎么做到的。斐德洛把两篇都读给大家听,然后要大家举手表决,谁认为第一篇比较好,有两个人举手;他又问有多少人认为第二篇比较好,有二十八名同学举手。

他说:“有二十八名同学举手认为第二篇比较好,这种价值判断就是我所谓的良质。所以你们知道良质是什么。”

大家沉默了许久,重新思考他的话,这是他乐于看到的沉默。

[...]

一开始班上对这种练习很感兴趣,但是过一阵子就觉得没意思了。他所谓的良质非常明显,他们早已知道究竟是怎么回事了,所以没有兴趣继续听下去。现在他们的问题变成:“好吧!既然我们知道良质是什么,我们该怎样得到它呢?”

现在,正统的修辞学教科书终于以富有意义的面目回到学生的视野中,里面的原则不再是令人反感的教条,更不是目的本身,不过是些技巧、手法,但它们有助于达成真正重要的目标——良质。原本不见容于传统修辞学的良质,现在却成为通向修辞学的美妙开端。

他把良质的各个层面列出来,比如说:统一、生动、可信、简洁、敏锐、清晰、强调、流畅、悬疑、出色、准确、比例适当、有深度,等等。由于这些抽象名词都很难定义,所以他就利用刚才的比较手法介绍给学生们。比如说文章的统一,也就是故事如何前后连贯,可以借撰写大纲改进自己的技巧。而要提高文章的可信性,则可以增加注释,因为注释能够提供更多权威性的参考。在大一的课程里面都会提到大纲和注释,但现在却被作为提高良质的方法。如果学生交来的报告中罗列一堆凑数的注释或是大纲松散,就表示他只是敷衍了事,没有达到报告应有的良质,所以毫无价值可言。

然而要回答学生的问题:“我怎样才能得到良质?”这几乎使他想要辞职。他认为:“这和你要如何得到它完全无关。它就是这样好的东西。”有一名不满意的学生在课堂上问:“但是我们要怎样才知道什么是好呢?”但是几乎还没问出口,他就明白已经有答案了。其他学生经常会告诉他:“你已经看到了。”如果他说:“我没有。”他们就会说:“你看到了。他已经证明了这一点。”学生终于完全可以自己评断良质了——就是这样,他教会了他们写作。

昨天和同事在邮件里交流“极限编程”,我说我对像“极限编程”这样的方法论保持怀疑态度,但没法完全阐明原因。当我今天早上重读这段话时,原因突然就清晰了。极限编程和其他编程方法论“只是技巧、手法,用来产生真正[重要]和[代表]独立于技术的东西——质量”。然而很多时候,这些方法论“本身就是终极”的。

编程方法论并非提高产生质量的银弹。事实上,我甚至可以说实际与之相反。我曾见过一些项目过于沉迷于现今的方法论,而忽视了对结果的关注。项目变得过于关注手段——方法论,而不是目的——质量。就像大纲和脚注可以成为无价宝贵的写作技术一样,如果使用得当并以正确的角度看待,编程方法论也能成为宝贵的技术。

不幸的是,我不相信支持者完全理解这一点。